/**
 *
 */
package br.com.werp.regras.suporte.integracao;

import br.com.werp.regras.geral.ErroPadrao;
import br.com.werp.regras.geral.integracao.MasterDAO;
import br.com.werp.regras.geral.util.Constantes;
import br.com.werp.regras.geral.vos.suporte.UsuarioMaquinaVO;
import br.com.werp.regras.geral.vos.tabelas.Usuario_maquina;

import java.sql.Connection;
import java.sql.SQLException;

import java.util.List;
import java.util.ResourceBundle;


/**
 * @author italo
 *
 *25/07/2006
 */
public class UsuarioMaquinaDAO extends MasterDAO {
    private static UsuarioMaquinaDAO usuarioMaquinaDAO;

    private UsuarioMaquinaDAO(String banco) throws Exception {
        super(banco);
    }

    public static UsuarioMaquinaDAO getUsuarioMaquinaDAO()
        throws Exception {
        if (usuarioMaquinaDAO == null) {
            ResourceBundle bundle = ResourceBundle.getBundle(Constantes.CONFIG);
            usuarioMaquinaDAO = new UsuarioMaquinaDAO(bundle.getString(
                        Constantes.BANCO));
        }

        return usuarioMaquinaDAO;
    }

    public List pesquisarUsuarioMaquina(UsuarioMaquinaVO usuarioMaquinaVO)
        throws Exception {
        Connection connection = getConexao();

        try {
            return pesquisarVO(connection, usuarioMaquinaVO, null,
                "usuario_maquina", UsuarioMaquinaVO.EXCLUIDAS);
        } finally {
            liberaConeccao(connection);
        }
    }

    public void excluirUsuarioMaquina(Object key,
        Usuario_maquina usuario_maquina)
        throws ErroPadrao, SQLException, Exception {
        excluirVO(validarTransacao(key), usuario_maquina);
    }
}
